#ifndef RAY_H
#define RAY_H

#include "point.h"
namespace GeometryUtilities
{
  class Ray
  {
    public:
      Ray();
      Ray(const Point& start, const Point& dir);

      const Point& start() const;
      Point& start();

      const Point& direction() const;
      Point& direction();

      virtual bool isPointOn(const Point &p) const;

      virtual bool operator==(const Ray& rhs) const;

    protected:
      Point mStart;
      Point mDir;
  };
}

#endif // RAY_H
